home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
intuition
/
reqtools_2.1e
/
rtpatch
/
rtpatch.doc
< prev
next >
Wrap
Text File
|
1994-11-17
|
16KB
|
382 lines
**********************************
RTPatch 1.1b
The ReqTools Patcher
(c) 1992 Nico François
**********************************
Preface
=======
The programs and files in this distribution are freely distributable, but are
also copyright (c) Nico François. They may be freely distributed as long as
no more than a nominal fee is charged to cover time and copying costs.
No commercial usage is permitted without written permission from the
author. Everything in this distribution must be kept together, in original
unmodified form.
The above is generally known as freeware.
If you have suggestions or remarks about this program, or if you find
any bugs, please let me know.
Contacting the author:
Fido: 2:292/603.10 (Nico Francois)
UUCP: Nico.Francois@p10.f603.n292.z2.FidoNet.Org
Mail: Nico François
Corbielaan 13
B-3060 Bertem
BELGIUM
If you can please use e-mail. That way you'll stand a much better chance
of getting a reply quickly.
Contents
========
1. Introduction
2. Usage
3. Compatibility
4. Controlling RTPatch
1. Introduction
===============
RTPatch is a small program that will re-route functions from most popular
requester libraries to ReqTools. Libraries currently supported are Arp, Req
and Asl. RTPatch will also patch some functions in Intuition to give you
improved system requesters.
The patches RTPatch makes are these:
o Intuition : AutoRequest and EasyRequest (on 2.0) are patched so
normal system requesters, like 'Insert Disk...'
requesters, will be replaced by ReqTools EZRequesters.
They will appear near the mouse pointer and respond to
many keyboard shortcuts. On 2.0 OpenScreenTagList() is
also patched to always open a new-look 3D screen. This
will make for example CygnusEd 2.12 open a nice new-look
screen. You may also ask RTPatch to patch OpenScreen()
to open _all_ screens with a 3D look. Beware however
that this makes a lot of old programs look ugly!
o req.library: File requester, font requester, palette requester,
string requester and integer requester are replaced by
ReqTools requesters.
o arp.library: File requester is replaced by ReqTools file requester.
o asl.library: Currently only file requester is replaced by ReqTools
file requester. Font and screen mode requesters are not
patched yet.
RTPatch uses an intelligent patch mechanism. It will only patch a
library when it is actually opened. This means that if you never use the
arp.library (for example) it will not be patched and, more importantly, it
will not unnecessaryly be loaded into memory! If you do run a program that
uses Arp and you quit it, it will close Arp. RTPatch will then allow the
patched Arp to be expunged from memory. If Arp is reloaded again later it
will be re-patched. Note that RTPatch patches exec.library/OpenLibrary() and
exec.library/OldOpenLibrary() to accomplish all this.
RTPatch is a 100% assembly program, for maximum efficiency. It only
takes about 4.5K of memory once installed (excluding memory occupied by
reqtools.library). It uses *NO* processor time while installed.
2. Usage
========
RTPatch can be used from Workbench and from the Shell (CLI).
Shell usage:
~~~~~~~~~~~~
RTPatch 1.1 © 1992 Nico François
Usage: RTPatch [NOREQ] [NOASL] [NOARP] [NOINTUITION]
[OPENSCRPATCH] [NOOPENSCRTAGPATCH]
Explanation of options:
NOREQ : Do not patch req.library.
NOASL : Do not patch asl.library.
NOARP : Do not patch arp.library.
NOINTUITION : Do not patch intuition.library.
OPENSCRPATCH : Patch OpenScreen() in intuition.library so _all_
screens will open with a 3D look. Only use this
option on Kickstart 2.0 and higher!
NOOPENSCRTAGPATCH : Do not patch OpenScreenTagList() in
intuition.library.
Workbench usage:
~~~~~~~~~~~~~~~~
RTPatch recognizes following tooltypes:
NOREQ : Do not patch req.library.
NOASL : Do not patch asl.library.
NOARP : Do not patch arp.library.
NOINTUITION : Do not patch intuition.library.
OPENSCRPATCH : Patch OpenScreen() in intuition.library so _all_
screens will open with a 3D look. Only use this
tooltype on Kickstart 2.0 and higher!
NOOPENSCRTAGPATCH : Do not patch OpenScreenTagList() in
intuition.library.
QUIET : Don't open requester informing patches have been
installed. Set this tooltype if you intend to drag
RTPatch to your WbStartup drawer.
NOTE: Run RTPatch when *NO* program has req.library, asl.library or
arp.library open! RTPatch will complain if one of these libraries
is in use and will refuse to install or remove patches. Running
RTPatch in your user-startup or from your WbStartup should be ok.
WARNING: Asl V38 (distributed with Workbench 2.1) always keeps its library
open count at 0. It does this so ramlib will always call its
Expunge() function when memory is low. This does however mean
RTPatch cannot see if this library is in use or not. So you must
be very careful not to install or remove RTPatch when you have a
program running that uses Asl. If you are still using Workbench 1.3
or 2.0 there is no problem.
3. Compatibility
================
RTPatch supports all basic requester functions and options. Other
supported things that are worth mentioning:
arp.library (V39)
~~~~~~~~~~~~~~~~~
o File callback function (FRF_DoWildFunc). The A4 global data register
is valid when this callback function is called (documented feature).
o Message callback function (FRF_DoMsgFunc) for requesters which share
their IDCMP port with the parent window.
o Save mode (FRF_DoColor flag).
o Shared IDCMP with parent window or new IDCMP (FRF_NewIDCMP flag).
o 'Empty filename is ok' behaviour is supported.
asl.library (V36/V38)
~~~~~~~~~~~~~~~~~~~~~
o File callback function/hook (FRF_DOWILDFUNC and ASLFR_FilterFunc tag).
The A4 global data register is valid when this callback function is
called for maximum compatibility (undocumented feature of Asl V36).
o Intuition message callback function/hook (FRF_DOMSGFUNC and
ASLFR_IntuiMsgFunc tag) for requesters with shared IDCMP.
o Multi-selection (FRB_DOMULTISELECT flag or ASLFR_DoMultiSelect tag).
o Directory requester, no files. (FRF_DRAWERSONLY flag or
ASLFR_DrawersOnly tag).
o Save mode (FRF_DOSAVEMODE flag or ASLFR_DoSaveMode tag).
o Shared IDCMP with parent window or new IDCMP (FRF_PRIVATEIDCMP flag
or ALSFR_PrivateIDCMP tag).
o Putting to sleep of parent window (ASLFR_SleepWindow tag).
o Font for requester (ASLFR_TextAttr tag). Note that if a proportional
font is supplied it will be rejected by the ReqTools file requester.
o Pattern gadget (FRF_DOPATTERNS flag or ASLFR_DoPatterns tag).
o 'Empty filename is ok' behaviour is supported to ensures compatibility
with e.g. AssignX, PageStream 2.2 and no doubt many other programs.
o Undocumented fields in file requester structure are filled in, so even
"dirty" programs will work.
o Accept and reject patterns (ASLFR_AcceptPattern/ASLFR_RejectPattern).
req.library (V2)
~~~~~~~~~~~~~~~~
o Multi-selection.
o Buffers for file and font requester.
o Directory requester (no files).
o Save mode (FRQSAVINGM flag).